﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DAL;
using BOL;
using System.Data.Linq;
using UtilityExtensions;


namespace BOL.Ventas
{
    public class OrdenVentaListInfo
    {
        
        public int idInternal { get; set; }
        public int idProyecto { get; set; }
        public string proyectoStr { get; set; }
        public int idCliente { get; set; }
        public int? idCliente2 { get; set; }
        public DateTime fecha { get; set; }
        public string fechaStr { get; set; }       
        public string  numDocumento { get; set; }
        public string  clienteStr { get; set; }
        public string formatoVentaStr { get; set; }
        public string vendedorstr { get; set; }
        public string bancoStr { get; set; }
        public int idEstado { get; set; }
        public string estadoStr { get; set; }
        public DateTime? fechaVenta { get; set; }
        
        public int cuentaAhorro { get; set; }
        public string localizacion { get; set; }
        public string piso { get; set; }
        public string codigo { get; set; }
        public string descripcion { get; set; }
        public Moneda moneda { get; set; }
        public decimal total { get; set; }
        public decimal pago { get; set; }
        public decimal Saldo { get; set; }
        public int idEtapa { get; set; }
        public int idTipoVivienda { get; set; }
        public string formulario { get; set; }

        public EntitySet<OrdenVentaFormato> ordenVentaFormatos { get; set; }

        public string totalStr { 
            get 
            {
                return string.Format("{0}{1:N}",moneda.simbol,total);
         
        } }

        public string pagoStr
        {
            get
            {
                return string.Format("{0}{1:N}", moneda.simbol,pago);

            }
        }
        public string saldoStr
        {
            get
            {
                return string.Format("{0}{1:N}", moneda.simbol, total- pago);

            }
        }
        public string fechaVentaStr
        {
            get
            {
                return fechaVenta==null?"":fechaVenta.Value.ToShortDateString();

            }
        }



        public string minFechaPrintStr { get; set; }
        public string minFechaFirmClienteStr { get; set; }
        public string minfechaFirmEmpresaStr { get; set; }
        public string minfechaFirmBancoStr { get; set; }
        public string envioNotariaStr { get; set; }
        public string envioBancoStr { get; set; }
        public string envioCofideStr { get; set; }
        public string envioFMVStr { get; set; }
        public string escriturakardexStr { get; set; }
        public string escrituraKardexNumStr { get; set; }
        public string escrituraPrintStr { get; set; }
        public string escrituraFirmClienteStr { get; set; }
        public string escrituraFirmEmpresaStr { get; set; }
        public string escrituraFirmBancoStr { get; set; }
        public string legalInsClienteStr { get; set; }
        public string legalEntregaStr { get; set; }
        public string legalHipotOtroBancoStr { get; set; }



       
        //------------------------------------------
        private string rojo="<img src='../../Images/img_status_error.png'  height='10'  width='10' />";
        private string verde="<img src='../../Images/completo.png'  height='10'  width='10'/>";

        public string minuta
        {
            get
            {
                string result="";
              
                result=(this.minFechaPrintStr.HasValue()?verde:rojo);
                result = result+(this.minFechaFirmClienteStr.HasValue() ? verde : rojo);
                result = result + (this.minfechaFirmEmpresaStr.HasValue() ? verde : rojo);
                result = result + (this.minfechaFirmBancoStr.HasValue() ? verde : rojo);

                return result;
            }
        }
        public string envios
        {
            get
            {
                string result = "";

                result = (this.envioNotariaStr.HasValue() ? verde : rojo);
                result = result + (this.envioBancoStr.HasValue() ? verde : rojo);
                result = result + (this.envioCofideStr.HasValue() ? verde : rojo);
                result = result + (this.envioFMVStr.HasValue() ? verde : rojo);

                return result;
            }
        }

          public string desembolso
        {
            get
            {
                string result = "";
                foreach (var item in ordenVentaFormatos)
                {
                    if ((item.total - item.totalFin) > 0)
                    {
                        result = result + (item.total - item.totalFin -item.totalPago==0? verde : rojo);
                    }
                }
               

                return result;
            }
        }
             
        

        public string escritura
        {
            get
            {
                string result = "";

                result = (this.escriturakardexStr.HasValue() ? verde : rojo);
                result = result + (this.escrituraPrintStr.HasValue() ? verde : rojo);
                result = result + (this.escrituraFirmClienteStr.HasValue() ? verde : rojo);
                result = result + (this.escrituraFirmEmpresaStr.HasValue() ? verde : rojo);
                result = result + (this.escrituraFirmBancoStr.HasValue() ? verde : rojo);

                return result;
            }
        }
        public string legal
        {
            get
            {
                string result = "";

                result = (this.legalInsClienteStr.HasValue() ? verde : rojo);
                result = result + (this.legalEntregaStr.HasValue() ? verde : rojo);
                result = result + (this.legalHipotOtroBancoStr.HasValue() ? verde : rojo);
                

                return result;
            }
        }

                   
                           

    }
}
